package com.stark.commons.spring.web.boot.properties;

import java.util.HashMap;
import java.util.Map;

import org.springframework.boot.context.properties.ConfigurationProperties;

import lombok.Data;

/**
 * feign 配置参数。
 * @author Ben
 * @since 1.0.0
 * @version 1.0.0
 */
@ConfigurationProperties("feign")
@Data
public class FeignProperties {
	
	/** feign 从 request 中复制的请求头，多个以 "," 隔开，默认 "Authorization,X-Forwarded-For" */
	private String headersInclude = "Authorization,X-Forwarded-For";
	
	/** 业务逻辑错误代码，不计入熔断统计， key 为错误代码， value 为错误信息（为空代表取异常的错误信息） */
	private Map<Integer, String> decodeCodes = new HashMap<>();
	
	/** 
	 * uri 参数空指针 null 标识符，支持以下函数：
	 * <ul>
	 * <li><code>constant(int)</code> - 整型常数，取括号内的值；</li>
	 * <li><code>uuid()</code> - UUID 唯一标识符。</li>
	 * </ul>
	 */
	private String uriVariableNullIdentifier;
	
}
